package org.example.dataStructure.list;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

/**
 * @author yuwl
 * @description 列表
 * @since 2024-07-12 15:51
 */
public class ListDemo {

    public static void main(String[] args) {
        // 1. 初始化列表
        List<Integer> nums1 = new ArrayList<>();
        Integer[] numbers = new Integer[]{1, 3, 2, 5, 4};
        List<Integer> nums = new ArrayList<>(Arrays.asList(numbers));

        // 2. 访问元素
        int num = nums.get(1);
        // 更新元素
        nums.set(1, 0); // 将索引 1 处的元素更新为 0

        // 3.插入与删除
        // 清空列表
        nums.clear();

        // 在尾部添加元素
        nums.add(1);
        nums.add(3);
        nums.add(2);
        nums.add(5);
        nums.add(4);

        // 在中间插入元素
        nums.add(3, 6); // 在索引 3 处插入数字 6

        // 删除元素
        nums.remove(3); // 删除索引 3 处的元素

        // 4.遍历列表
        int count = 0;
        for (int i = 0; i < nums.size(); i++) {
            count += nums.get(i);
        }
        for (int item : nums) {
            System.out.println(item);
        }

        // 5.拼接列表
        List<Integer> nums2 = new ArrayList<>(Arrays.asList(new Integer[]{6, 8, 7, 10, 9}));
        nums.addAll(nums2);

        // 6.排序列表
        Collections.sort(nums);
    }
}
